package com.hxgz.steel.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import io.swagger.annotations.ApiOperation;
import io.swagger.models.auth.In;

import javax.persistence.Transient;
import java.util.Date;

@ApiModel("商家信息对象模型")
public class Merchant {

  private Long id;

  @ApiModelProperty(value = "店铺logo", required = true)
  private String logo;

  @ApiModelProperty(value = "店铺名称", required = true)
  private String name;

  @ApiModelProperty(value = "店铺地址", required = true)
  private String address;

  @ApiModelProperty(value = "详细地址", required = true)
  private String addressInfo;

  @ApiModelProperty(value = "经营范围", required = true)
  private String businessScope;

  @ApiModelProperty(value = "是否仓储加工(1是，0否)", required = true)
  private Integer process;

  @Transient
  @ApiModelProperty(value = "是否仓储加工", required = true)
  private String processName;
  @Transient
  @ApiModelProperty(value = "是否现货商家", required = true)
  private String spotGoodsName;

  @ApiModelProperty(value = "是否现货商家(1是，0否)", required = true)
  private Integer spotGoods;

  @ApiModelProperty(value = "视频接口", required = true)
  private String videoInterface;

  @ApiModelProperty(value = "二维码图片", required = true)
  private String qrCodePicture;

  @ApiModelProperty(value = "商铺审核状态 0待审核 1审核未通过 2审核已通过 3已禁用")
  private Integer status;

  @ApiModelProperty(value = "年费")
  private String annualFee;

  @ApiModelProperty(value = "佣金")
  private String commission;


  @ApiModelProperty(value = "提交时间")
  private Date commitTime;

  @ApiModelProperty(value = "认证时间")
  private Date authenticationTime;


  @ApiModelProperty(value = "创建时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date createTime;

  @ApiModelProperty(value = "修改时间")
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
  private Date updateTime;

  @ApiModelProperty(value = "用户id")
  private Long userId;


  public Merchant() {
  }

  public Merchant(Long id, String logo, String name, String address, String addressInfo,
                  String businessScope, Integer process, Integer spotGoods, String videoInterface,
                  String qrCodePicture, Integer status, String annualFee, String commission,
                  Date commitTime, Date authenticationTime, Date createTime, Date updateTime,
                  Long userId) {
    this.id = id;
    this.logo = logo;
    this.name = name;
    this.address = address;
    this.addressInfo = addressInfo;
    this.businessScope = businessScope;
    this.process = process;
    this.spotGoods = spotGoods;
    this.videoInterface = videoInterface;
    this.qrCodePicture = qrCodePicture;
    this.status = status;
    this.annualFee = annualFee;
    this.commission = commission;
    this.commitTime = commitTime;
    this.authenticationTime = authenticationTime;
    this.createTime = createTime;
    this.updateTime = updateTime;
    this.userId = userId;
  }

  public Merchant(Long id, String logo, String name, String address, String addressInfo, String businessScope, Integer process, String processName, String spotGoodsName, Integer spotGoods, String videoInterface, String qrCodePicture, Integer status, String annualFee, String commission, Date commitTime, Date authenticationTime, Date createTime, Date updateTime, Long userId) {
    this.id = id;
    this.logo = logo;
    this.name = name;
    this.address = address;
    this.addressInfo = addressInfo;
    this.businessScope = businessScope;
    this.process = process;
    this.processName = processName;
    this.spotGoodsName = spotGoodsName;
    this.spotGoods = spotGoods;
    this.videoInterface = videoInterface;
    this.qrCodePicture = qrCodePicture;
    this.status = status;
    this.annualFee = annualFee;
    this.commission = commission;
    this.commitTime = commitTime;
    this.authenticationTime = authenticationTime;
    this.createTime = createTime;
    this.updateTime = updateTime;
    this.userId = userId;
  }

  public String getProcessName() {
    return processName;
  }

  public void setProcessName(String processName) {
    this.processName = processName;
  }

  public String getSpotGoodsName() {
    return spotGoodsName;
  }

  public void setSpotGoodsName(String spotGoodsName) {
    this.spotGoodsName = spotGoodsName;
  }

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public String getLogo() {
    return logo;
  }

  public void setLogo(String logo) {
    this.logo = logo;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getAddress() {
    return address;
  }

  public void setAddress(String address) {
    this.address = address;
  }

  public String getAddressInfo() {
    return addressInfo;
  }

  public void setAddressInfo(String addressInfo) {
    this.addressInfo = addressInfo;
  }

  public String getBusinessScope() {
    return businessScope;
  }

  public void setBusinessScope(String businessScope) {
    this.businessScope = businessScope;
  }

  public Integer getProcess() {
    return process;
  }

  public void setProcess(Integer process) {
    this.process = process;
  }

  public Integer getSpotGoods() {
    return spotGoods;
  }

  public void setSpotGoods(Integer spotGoods) {
    this.spotGoods = spotGoods;
  }

  public String getVideoInterface() {
    return videoInterface;
  }

  public void setVideoInterface(String videoInterface) {
    this.videoInterface = videoInterface;
  }

  public String getQrCodePicture() {
    return qrCodePicture;
  }

  public void setQrCodePicture(String qrCodePicture) {
    this.qrCodePicture = qrCodePicture;
  }

  public Integer getStatus() {
    return status;
  }

  public void setStatus(Integer status) {
    this.status = status;
  }

  public String getAnnualFee() {
    return annualFee;
  }

  public void setAnnualFee(String annualFee) {
    this.annualFee = annualFee;
  }

  public String getCommission() {
    return commission;
  }

  public void setCommission(String commission) {
    this.commission = commission;
  }

  public Date getCommitTime() {
    return commitTime;
  }

  public void setCommitTime(Date commitTime) {
    this.commitTime = commitTime;
  }

  public Date getAuthenticationTime() {
    return authenticationTime;
  }

  public void setAuthenticationTime(Date authenticationTime) {
    this.authenticationTime = authenticationTime;
  }

  public Date getCreateTime() {
    return createTime;
  }

  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }

  public Date getUpdateTime() {
    return updateTime;
  }

  public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
  }

  public Long getUserId() {
    return userId;
  }

  public void setUserId(Long userId) {
    this.userId = userId;
  }
}